<br><font size=2 face="sans-serif">Prehitro sem poslal prejšnje sporočilo,
se opravičujem</font>
<br>
<br><font size=2 face="sans-serif">Tole je skripta:</font>
<br>
<br><font size=2 face="sans-serif">#!/usr/bin/perl -w</font><font size=3>
</font><font size=2 face="sans-serif"><br>
use DBI;</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
$dbh = DBI->connect('DBI:mysql:lmprint;host=myhost', 'myuser', 'mypass',
{ RaiseError =>1 });</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
open(F1,"/tmp/test.csv");</font><font size=3> </font><font size=2 face="sans-serif"><br>
while($line = <F1>) {</font><font size=3>
</font><font size=2 face="sans-serif"><br>
if ($line =~ /^(\S+)\.\S+\,(\d+)\,(\d+)\,(\d+)\.\d+/)
{<br>
$insert = "INSERT
INTO report_current_month(printer, jobs, pages, cost) VALUES('$1','$2','$3','$4')";</font><font size=3>
</font><font size=2 face="sans-serif"><br>
$sth = $dbh->prepare($insert);</font><font size=3>
</font><font size=2 face="sans-serif"><br>
$sth->execute;</font><font size=3>
</font><font size=2 face="sans-serif"><br>
}</font><font size=3>
</font><font size=2 face="sans-serif"><br>
}</font><font size=3> </font><font size=2 face="sans-serif"><br>
close(F1);</font><font size=3> </font>
<br>
<br><font size=2 face="sans-serif">Težava je v obliki podatkov. Ti so
zapisani v obliki</font>
<br>
<br><font size=2 face="sans-serif">TALLY_T6180_VRS.Skladisca.Logistika.Trzenje.Ljubljana.LM,3,17,126</font>
<br>
<br><font size=2 face="sans-serif">Za obdelavo potrebujem samo ime tiskalnika,
torej TALLY_T6180_VRS, v bazo pa skripta vpiše "TALLY_T6180_VRS.Skladisca.Logistika.Trzenje.Ljubljana".
To je logično, ker perl dela v "greedy" načinu in pobere čim
več do zadnje pike. Telovadil sem tudi z ? vendar rezultat ni bil v okviru
pričakovanega :(</font>
<br>
<br><font size=2 face="sans-serif">Ima kdo mogoče kakšno idejo, kako
bi odrezal string pri prvi piki?</font>
<br><font size=2 face="sans-serif"><br>
Hvala in lep pozdrav,<br>
<br>
Matjaž</font>