Thread @h{qw'a b c'} better written as $h{qw'a b c'} (2 answers)
Opened by Gast at 2007-11-22 18:13

Gast Gast
 2007-11-22 18:13
#102810 #102810
Hallo @all,

wie im Betreff angegeben bekomme ich bei einer folgenden Zuweisung immer die Warnung 'Scalar value ... better written as ...'.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl
use strict;
use warnings 'all';

# hash definieren
my %h = (
a => 1,
b => 2,
c => 3,
);

# und hier die zuweisung, die die Warnung erzeugt
my( $a, $b, $c ) = @h{qw'a b c'};

Nun kann ich mir nicht erklären wieso.
Denn es ist nunmal kein 'Scalar value' sondern ein Hashslice mit mehreren Elementen.

Schreibt man auf der rechten Seite der Zuweisung folgendes: @h{'a', 'b', 'c'} bekommt man keine Warnung...

Ist das ein Fehler von warnings, oder von mir?
Falls es ein Fehler von warnings ist, wie kann ich ihn abschalten ohne gleich alle warnings abzuschalten?

MfG Horst

View full thread @h{qw'a b c'} better written as $h{qw'a b c'}