Freddy: Anzahl Datensätze ermitteln

Hi,

wie kann ich die Anzahl Datensätze ermitteln.

<code>open(FileNr, "<$Datei");</code>
<code>my $AnzahlDS = (<FileNr>);</code>
oder
<code>my $AnzahlDS = <FileNr>;</code>

funktioniert nicht. Muss ich da erst umständlich

<code>my @Daten = <FileNr>);</code>
und dann
<code>my $AnzahlDS = @Daten;</code>

codieren?

Gruß Freddy

  1. Hallo!

    ... Muss ich da erst umständlich

    <code>my @Daten = <FileNr>);</code>
    und dann
    <code>my $AnzahlDS = @Daten;</code>

    codieren?

    Abgesehen davon, das ich das gar nicht so umständlich finde, könntest du noch auf

    my $AnzahlDS = ( ()=<FileNr> );

    verkürzen.
    Oder du machst es mit Tie::File:

    use Tie::File;
    tie my @array, 'Tie::File', $Datei;  # (statt open)
    my $AnzahlDS = @array;
    untie @array;         # (statt close)

  2. Hey,
    siehe Kochbuch, Rezept 8.2.
    | Here's the fastest solution, assuming your line terminator really is "\n":
    | $count += tr/\n/\n/ while sysread(FILE, $_, 2 ** 16);

    --
    水-金-地-火-木-土-天-海-冥